package com.fowo.api.model.transaction.receivable.report.management.item;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fowo.api.common.validator.*;
import io.swagger.v3.oas.annotations.media.Schema;
import javax.validation.constraints.*;
import lombok.Getter;
import lombok.Setter;

/**
 * 应收交易报告管理子表 预览导入辅助模型(全字段为文本类型)
 * @author yl_ls
 */
@Getter
@Setter
public class TransactionReceivableReportManagementItemImportPo {

  /** 所属应收交易报告管理 */
  @ExcelProperty("所属应收交易报告管理")
  @Size(max = 50, message = "所属应收交易报告管理长度不能超过50")
  private String parentTransactionReceivableReportManagementBillingTimestring;

  @ExcelIgnore
  @Schema(title = "所属应收交易报告管理")
  private String parentTransactionReceivableReportManagement;

  /** 费用项 */
  @ExcelProperty("费用项")
  @Size(max = 50, message = "费用项长度不能超过50")
  private String name;

  /** 类型 */
  @ExcelProperty("类型")
  @EnumsString(
    value = { "借方", "贷方" },
    message = "类型只能是“借方”, “贷方”中的一个"
  )
  private String type;

  /** 差异 */
  @ExcelProperty("差异")
  @DecimalString(message = "差异小数格式不正确", label = "差异")
  private String costdifference;

  /** 大项 */
  @ExcelProperty("大项")
  @Size(max = 50, message = "大项长度不能超过50")
  private String maxname;

  /** 金额 */
  @ExcelProperty("金额")
  @DecimalString(message = "金额小数格式不正确", label = "金额")
  private String amount;
}
